package com.ruoyi.finance.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * <p>
 * 
 * </p>
 *
 * @author 出房实体类
 * @since 2018-04-16
 */
@Data
public class CfContractsEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 出房合同编号（系统生成）
     */
    private String cf_contract_no;

    /**
     * 外部合同编号（线下合同编号）
     */
    private String out_contract_no;

    /**
     * 上一合同ID，续约合同的时候
     */
    private Long last_contract_id;

    /**
     * 上一合同编号
     */
    private String last_contract_no;

    /**
     * 商户ID
     */
    private Long business_id;

    /**
     * 部门ID
     */
    private Long dept_id;

    /**
     * 部门编号
     */
    private String dept_no;

    /**
     * 房源ID
     */
    private String room_id;

    /**
     * 房源编号
     */
    private String room_code;

    /**
     * 承租房间(使用房源名称)
     */
    private String room_name;

    /**
     * 收房合同ID
     */
    private Long sf_contract_id;

    /**
     * 收房合同编号
     */
    private String sf_contract_no;

    /**
     * 房产编号
     */
    private String house_id;

    /**
     * 房产信息(考虑在房产表中增加house_name，楼栋，单元，门牌号和居室，然后带出)
     */
    private String house_name;

    /**
     * 小区名(使用楼盘名称)
     */
    private String premise_name;

    /**
     * 居住人数(出房的时候录入)
     */
    private Integer people_num;

    /**
     * 租客ID
     */
    private Long tenant_id;

    /**
     * 租客姓名
     */
    private String tenant_name;

    /**
     * 租客手机号
     */
    private String tenant_phone;

    /**
     * 租客紧急联系号
     */
    private String tenant_emergency_phone;

    /**
     * 租客证件号
     */
    private String tenant_card_no;

    /**
     * 租客联系地址
     */
    private String tenant_contact_address;

    /**
     * 租约期限开始日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date start_date;

    /**
     * 租约期限结束日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date end_date;

    /**
     * 租约期限（月）,直接选择租约期限的时候，没有选，暂时不设定
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date signing_cycle;

    /**
     * 承租月租金
     */
    private BigDecimal month_rent;

    /**
     * 押金
     */
    private BigDecimal deposit;

    /**
     * 收款方式(押X付Y的X)
     */
    private Integer deposit_type;

    /**
     * 收款方式（押X付Y的Y）
     */
    private Integer payment_type;

    /**
     * 房租收取设置提前天数,天
     */
    private Integer advance_days;

    /**
     * 房租收取设置固定日, 号（自然月）
     */
    private Integer fixed_day;

    /**
     * 租客承担付费(款项),各款项逗号拼接保存
     */
    private String tenant_expenses;

    /**
     * 承租类型,"0:整租（分散式）
2:1:合租（分散式） 
3:2:单身公寓（集中式）"
     */
    private Integer sign_type;

    /**
     * 补充条款
     */
    private String supplementary_terms;

    /**
     * 有无特殊人群,0:无 1:有
     */
    private Boolean have_special_people;

    /**
     * 是否房租分期,0:否 1:是
     */
    private Boolean rent_installment_flg;

    /**
     * 是否租约保理,0:否 1:是
     */
    private Boolean zybl_flg;

    /**
     * 合同状态,"1:草稿
2:已提交
3:已解约
4:已结束
9:作废"
     */
    private Integer contract_state;

    /**
     * 续约状态,"0: 未续约
1: 已续约"
     */
    private Integer xuyue_state;

    /**
     * 合同录入日期,暂定设置为提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date input_date;

    /**
     * 合同签订日期, 暂定设置为提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date signing_date;

    /**
     * 合同审核日期,暂定设置为提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date audit_date;

    /**
     * 合同录入人,暂定设置为创建人
     */
    private Long input_user_id;

    /**
     * 出房人,暂定设置为创建人
     */
    private Long cf_user_id;

    /**
     * 出房人姓名
     */
    private String cf_user_name;

    /**
     * 预留字段1
     */
    private BigDecimal reserve1;

    /**
     * 预留字段2
     */
    private Integer reserve2;

    /**
     * 预留字段3
     */
    private String reserve3;

    /**
     * 预留字段4
     */
    private String reserve4;

    /**
     * 预留字段5
     */
    private String reserve5;

    /**
     * 删除标识,0:未删除，1:删除
     */
    private Boolean del_flg;

    /**
     * 创建用户ID
     */
    private Long create_userid;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date create_time;

    /**
     * 更新用户ID
     */
    private Long update_userid;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date update_time;
    /**
     * 楼盘ID
     */
    private Long premises_id;
   /**
    * 冻结状态：0未冻结 1已冻结';
    */
   private Integer freeze_status;
}
